package com.jike.shop.cloud.dao.dos;

import com.jike.shop.cloud.enums.UserCouponStatusEnum;
import lombok.Data;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

/**
 * @author Briller
 */
@Data
public class UserCouponDO implements Serializable {
    private static final long serialVersionUID = -6406052025455473390L;
    /**
     * 主键
     */
    private Long id;

    /**
     * 用户id
     */
    private Long memberId;


    /**
     * 优惠券模板id
     */
    private Long couponId;

    /**
     * 优惠券名称,冗余coupon表的name字段
     */
    private String couponName;

    /**
     * 规则描述
     */
    private String ruleDesc;

    /**
     * 1.未用 2.已用 3.过期 4.可用 5.锁定
     * @see UserCouponStatusEnum
     */
    private Integer userCouponStatus;

    /**
     * 优惠类型
     */
    private Integer discountType;

    /**
     * 优惠定义：存优惠条件，金额，金额区间
     */
    private String discountDefine;

    /**
     * 优惠金额，,单位/分
     */
    private Long discountAmount;

    /**
     * 优惠券起用金额,单位/分
     */
    private Long enableAmount;

    /**
     * 领取渠道
     */
    private Integer obtainChannel;

    /**
     * 核销用券渠道
     */
    private Integer useChannel;
    /**
     * 优惠券有效开始时间
     */
    private Date beginTime;

    /**
     * 优惠券过期时间
     */
    private Date deadline;


    /**
     * 优惠券获取时间
     */
    private Date getTime;

    /**
     * 优惠券使用时间
     */
    private Date useTime;

    /**
     * 占用时间
     */
    private Date lockTime;

    /**
     * 优惠券使用的订单编号
     */
    private String orderNo;
    /**
     * 用券订单标识
     */
    private String orderId;

    /**
     * 版本号
     */
    private Long version;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 创建人
     */
    private String createPerson;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 更新人
     */
    private String updatePerson;


    /**
     * 是否逻辑删除
     */
    private Integer isDelete;



}